package com.File_io;

import java.io.File;
import java.io.IOException;

public class SearchForFileAddress {
    public static void main(String[] args) throws IOException {
        //C:\Program Files (x86)\Microsoft\Edge\Application
       searchFile(new File("C:/"),"msedge.exe");

    }
    /*
    dir目录
    fileName要搜索的文件名称
     */
    public static void searchFile(File dir,String fileName) throws IOException {
        //把非法的情况都拦截
        if(dir==null||!dir.exists()||dir.isFile()){
            return;
        }
        //获取当前目录下的全部以及文件
        File[] files = dir.listFiles();
        //判断当前目录是否存在一级文件，以及是否可以拿到一级文件
        if(files!=null&&files.length>0){
           //遍历全部以及文件对象
            for (File file : files) {
                //判断是否是文件还是文件夹。
                if(file.isFile()){
                    //是文件，判断这个文件是否是我们要找的
                    if(file.getName().contains(fileName)){
                        System.out.println("找到了："+file.getAbsoluteFile());
                        Runtime runtime=Runtime.getRuntime();
                        runtime.exec(file.getAbsolutePath());
                    }
                }else{
                    searchFile(file,fileName);
                }
            }
        }


    }
}
